A window that an end user sees is typically developed in a multi-step process. A window is first laid out by a developer. The corresponding code is then generated. This corresponding code creates the window provided to the end user.
A window typically contains controls. The controls include input fields, labels, drop down lists, buttons, and other items that an end user may see in a window. Some of these controls are containers. Containers are controls which can contain other controls. Thus, a window typically includes a hierarchy of controls, with containers containing other controls.
A developer typically lays out the window by utilizing a conventional form designer. The form designer is a tool used to allow a developer to graphically lay out the controls in the window. A form designer is also known as a dialog editor or a form editor. Once the window is laid out, the corresponding code is generated. Typically, the corresponding code includes code automatically generated in response to particular controls and code added by a programmer. The window is created by the corresponding code. The window can then be presented to an end user.
One type of window that is desired to be presented to an end user is a window divided by a splitter bar. Typically, a developer uses conventional control known as a splitter pane control to lay out a window divided by a splitter bar. The splitter pane control includes two containers, known as panes, and a conventional splitter bar between the two panes. The conventional splitter bar typically separates the panes either vertically, between a left pane and a right pane, or horizontally, between an upper pane and a lower pane. When the window is created, an end user is typically allowed to move the conventional splitter bar right-left or up-down, depending on the orientation of the conventional splitter bar. In response to movement of the conventional splitter bar, each pane is automatically resized.
Although the splitter pane control allows for the creation of a window divided by a splitter bar, form designers are usually designed to handle simple controls which are not containers for other controls. Because the splitter pane control includes two containers, conventional form designers are not meant to handle the splitter pane control. Consequently, conventional form designers typically require special logic in order to allow a developer to graphically lay out a window containing the splitter pane control. Without this logic, the conventional splitter bar and the controls within each pane cannot be laid out graphically. Moreover, the splitter pane control typically allows a developer to place only one other control within each of the panes. If another control is desired to be placed within a pane, the developer places the control within a container. As a result, the positioning of the controls is limited.
When a window divided by a splitter bar formed with a splitter pane control is created using Java, an additional problem appears. Typically a cursor appears on screen as a single arrow. When the cursor is moved onto the splitter bar separating the panes, the cursor appears as a double arrow. The double arrow indicates that the splitter bar can be moved to change the size of each pane. However, when the cursor is moved off of the splitter bar to one of the panes, the cursor remains a double arrow. This problem is remedied in Java by setting the cursor explicitly in each pane. However, this requires additional development time and effort.
Accordingly, what is needed is a system and method for providing a window divided by a splitter bar which is more flexible and may not require additional logic. The present invention addresses such a need.